USE [GD1C2012]
GO
--SP obtener el Chofer
CREATE PROCEDURE TEQUILASO.sp_obtenerChoferPorId
	@Id int
AS
BEGIN
	select C.Id, C.Nombre, C.Apellido, C.DNI, C.Telefono, C.Direccion, C.Mail, C.Fecha_Nacimiento, C.Habilitado from TEQUILASO.Chofer as C					
	where C.Id = @Id		
END
GO

--Cargar choer
CREATE PROCEDURE TEQUILASO.sp_cargarChofer
AS
BEGIN
	select * from TEQUILASO.Chofer 				
END
GO


CREATE PROCEDURE TEQUILASO.sp_bajaChofer
	@Id int
AS
BEGIN
	delete from tequilaso.chofer where id = @id
END
Go

--SP insertar Chofer
GO

CREATE PROCEDURE TEQUILASO.sp_altaChofer
	@Nombre varchar(255),
	@Apellido varchar(255),
	@DNI numeric(18,0),
	@Telefono numeric(18,0),
	@Direccion varchar(255),
	@Mail varchar(30),
	@Fecha_Nacimiento datetime,
	@Habilitado bit
AS
BEGIN
	if not exists (select * from TEQUILASO.Chofer
				where DNI = @DNI)
		begin
			insert into TEQUILASO.Chofer
			values(@Nombre, @Apellido, @DNI, @Direccion, @Telefono, @Mail, @Fecha_Nacimiento, @Habilitado)
			Declare @Id int
				Select	@Id = scope_identity()		
				Execute TEQUILASO.sp_obtenerChoferPorId @Id
		end
END
GO

--SP Modificar datos de Chofer
CREATE PROCEDURE TEQUILASO.sp_modificarChofer
	@Id	int,
	@Nombre varchar(255),
	@Apellido varchar(255),
	@DNI numeric(18,0),
	@Telefono numeric(18,0),
	@Direccion varchar(255),
	@Mail varchar(30),
	@Fecha_Nacimiento datetime,
	@Habilitado bit
AS
BEGIN
	update TEQUILASO.Chofer set	
		Nombre = @Nombre,
		Apellido = @Apellido,
		DNI = @DNI,
		Telefono = @Telefono,
		Direccion = @Direccion,
		Mail = @Mail,
		Fecha_Nacimiento = @Fecha_Nacimiento,
		Habilitado = @Habilitado						
	where Id = @Id
END
GO


--SP Busqueda de Chofers
CREATE PROCEDURE TEQUILASO.sp_buscarChofer
	@Nombre varchar(255),
	@Apellido varchar(255),
	@DNI numeric(18,0)
AS
BEGIN
	select C.Id, C.Nombre, C.Apellido, C.DNI, C.Telefono, C.Direccion, C.Mail, C.Fecha_Nacimiento, C.Habilitado from TEQUILASO.CHOFER as C					
	where 
		C.DNI like '%' + cast(isnull(@DNI, C.DNI) as varchar(18)) + '%'		
	and
		C.Nombre like '%' + isnull(@Nombre, C.Nombre) + '%'
	and
		C.Apellido like '%' + isnull(@Apellido, C.Apellido) + '%' 
END
GO